package main

import (
	"flag"
	"fmt"
	"os"

	"git.oschina.net/gunsluo/hawkeye-common/cron"
	"git.oschina.net/gunsluo/hawkeye-common/g"
	"git.oschina.net/gunsluo/third-party-push-example/funcs"
)

/*
	Description: 函数功能
	1、函数用来解析命令行
	2、读取配置文件cfg.json
   	3、采集数据
   	4、上报数据

	Author: jerrylou, <gunsluo@gmail.com>
	Since:  2016/08/25
*/
func main() {

	cfg := flag.String("c", "cfg.json", "configuration file")
	version := flag.Bool("v", false, "show version")

	flag.Parse()

	if *version {
		fmt.Println(g.VERSION)
		os.Exit(0)
	}

	// 获取文件的配置 2016/08/25 Add by jerrylou
	// 可以使用g.Init设置配置，从而不操作文件 2016/08/25 Add by jerrylou
	g.InitWithCfgFile(*cfg)

	// 开发者实现数据采集，这里是个示例 2016/08/25 Add by jerrylou
	funcs.BuildMappers()

	// 定时将采集数据发送到agent 2016/08/25 Add by jerrylou
	cron.Collect()

	select {}
}
